查看原文
其他

咋评价疾病预测模型?又见到熟悉的ROC曲线

李延龙 医咖会 2021-01-15

Heart最近发表了一篇综述《Graphics and statistics for cardiology: clinical prediction rules》[1],作者以心血管风险评分(CVD risk factor)为例探讨了如何借助统计图优势构建疾病的预测模型,并提出了6个重要步骤。(表1)


表1. 疾病预测模型的构建


上期我们聊到模型中预测变量的筛选,一旦重要的预测变量被筛选出来,下面就到了重点——风险评分模型构建和评价

建立风险评分

风险评分可通过模型中变量的加权总和函数计算求得,其中每个变量的权重就是多因素回归模型中的回归系数(例如,Logistic回归模型是log OR,Cox和Weibull回归为log HR)。模型中另外一个重要的决定因素是时间的滞后性,ASSIGN评分中,研究者假定为10年。


从数学的角度上看,风险其实就是一种概率,因此其取值范围在0-1之间。临床实际应用中,更常见的是将它定义为0-100%。通过Glasgow数据获得的女性CVD风险评分如下:


表2. Glasgow数据获得的女性CVD风险评分模型

评价风险评分:区分度

一个风险评分是否能够很好地预测某人将来是否患CVD(即所谓的模型区分度“Discrimination”)是很复杂的,因为风险评分只能告诉我们一个人发生CVD概率有多大,取值在0-100%之间。


实际上,一个人在10年间只可能出现两种结局——患CVD or 不患CVD。这时候就需要一个临床意义上的阈值(例如,我们将CVD 10年的发生概率≥10%定义为高危人群,急需进行预防性干预),基于这样的阈值就可以通过灵敏特异度评价风险评分的好坏。


表3所示,将CVD 10年的发生概率阈值定义为10%,其灵敏度为62%,特异度为72%。


表3. CVD风险评分评价


到这里,不知道小伙伴有没有觉得似曾相识~~~就是大家比较熟悉的诊断试验和ROC曲线啦。


不同风险评分阈值可以得到不同的灵敏度和特异度, 这一系列灵敏度和特异度就可以画出我们熟知的受试者特征曲线(ROC)。如图1所示,X轴为“1-特异度”,Y轴为“灵敏度”;红色曲线为最优预测模型,黑色曲线为仅包含年龄变量的预测模型。


图1. 风险评分的ROC曲线


预测模型表现如何,我们还需要一个定量评价。ROC曲线下面积(AUC)是一个非常重要的评价指标,AUC主要反映了风险评分模型对CVD的预测能力,也被叫做一致性统计量(Concordance statistics, C-statistics),即“C统计量”。


当两个风险评分模型比较时,AUC或C值越大,模型对CVD发生的预测作用越强。


一个比较极端的例子,如果CVD的患者和非患者的风险评分分布完全重叠,那么灵敏度+特异度就总是100%,所对应的ROC曲线就是图1中的对角虚线——机会线。简单地说,C值等于0.5,也就是你通过风险评分模型预测CVD是否发生的靠谱程度,等同于你投掷一枚硬币,看看硬币落下来是正面还是反面(可以说相当地不靠谱~~~)。


图2. C=0.5 vs. 抛硬币(抛硬币图来自网页截图)


这里需要注意!我们在构建一个风险评分模型的时候,是基于手头上的样本人群,并且也是根据这些样本人群中实际是否患有CVD,来评价风险模型好坏,这就带来一个问题,这样得到的“较好”风险评分模型如果换一个样本人群是否还适用?答案是不确定,所以我们还需要一个“测试数据集”,也就是另一个样本人群来验证一下。


作者在研究中选取另一个同样来自SHHEC数据库的样本数据集作为测试数据集(这里为了方便,简称“Test”)。


图1所得到的ROC曲线,实际上,是将Glasgow数据得到的风险评分模型(表2)应用到“Test”中所绘制的。 “黑线”代表仅包含年龄的预测模型(上期我们通过计算不同变量组合的拟合优度GOF,明确了年龄是CVD发生最重要的影响因素); “红线”代表除外BMI的最优预测模型(也是基于GOF确定滴~~~还没看的小伙伴戳这里:预测模型中咋选变量)。


从图1中不难看出,最优预测模型的AUC明显高于仅包含年龄的预测模型,这也提示其他变量贡献了模型的预测能力。


但是!!!ROC曲线和AUC也有缺点,即它们不允许删失。因此,当预测某种疾病需要用到Cox回归时,就需要另外的考虑。Harrell定义了一个生存分析C统计量:不同于Logistic回归的C统计量只需要比较模型预测结果与疾病实际发生情况的一致性,Cox回归中的C统计量除了考虑事件是否发生外,还需要对事件发生的时间进行预测


比较生存分析C统计量一个好的方式是通过森林图:图3所示Harrell C统计量是在年龄的基础上依次加入其他变量得到的。注意这里的C统计量只是用来评价模型的预测能力,并不是拟合优度GOF。因此,并不能通过C统计量来选择模型。另一个可用来评价C统计量变化的,是看模型总预测能力是否提高或者重新分类净改善(NRI)指数。


图3. 生存分析C统计量的森林图

评价风险评分:一致性

除了上面说到的区分度(Discrimination),风险评分的另一个重要的特点是一致性(Calibration)。不同于判别能力(模型能否很好地将CVD患者和非患者区分开),校准强调是反映预测结果和实际结果符合程度的一个指标。


完美的校准是所有的CVD患者的风险评分为100%,非CVD患者的风险评分为0。一般来讲,CVD风险评分从某个人群中获得,应该也可以适用于其他人群或者相同人群几年之后的情况,但是校准会千差万别。这是因为,一般情况下任何CVD模型在应用过程中总有无法解释的变异存在。


最理想的情况是所有都是完美的校准,可以通过Hosmer-Lemeshow(H-L)检验来评价校准,该检验主要用来比较实际患病情况和模型预测得到的患病情况,所得统计量卡方值越小,对应的P值越大,校准越好。具体的计算方法如下:


① 基于风险评分模型计算每个研究对象的预测概率;

② 根据预测概率大小从大到小排序后,按照十分位分层;

③ 分别计算各层的实际发生数和预测发生数;

④ 根据每层实际发生数与预测发生数计算卡方值,得到相应的P值。


根据实际发生率和预测发生率绘制一致图(Calibration plot),图中数据点与对角斜线贴近程度反映了模型的校准(图4)。图4是将Glasgow数据得到的风险评分模型(表2)应用到测试数据集“test”中所绘制的。


图4. 校准图


很明显,模型的校准并不好(图中数据点偏离对角斜线)。这是因为Glasgow数据来源人群与测试数据集在社会支持方面并不相同,而我们一开始介绍的ASSIGN评分是第一个将社会支持缺乏纳入风险模型中的。生活在Glasgow的人们社会支持相对缺乏,CVD的发生风险更高。如果想将Glasgow风险评分模型应用到生活在其他地方的人群,就不得不对评分模型予以校正。


总结一下,风险评分的建立基于模型中每个变量的权重,即多因素回归模型中的回归系数;模型的好坏可以从区分度(Discrimination)和一致性(Calibration)两方面考虑,前者可通过ROC曲线下面积(AUC)或C统计量来评价,后者可通过Hosmer-Lemeshow检验或校准图来评价。


参考文献

1. Heart. 2017; 103:538-45.


统计教程精彩回顾

1.【合集】15篇诊断试验和ROC曲线文章,从理论到操作,要啥有啥!

2. 图形比你想象得更有用!比如,帮助构建合适的疾病预测模型

3. 那么多变量,我该选择哪些进入多因素分析呢?

医咖会微信:medieco-ykh

关注医咖会,一起学习统计学!


有临床研究设计或统计学方面的难题?快加小咖个人微信(xys2016ykf),拉你进统计讨论群和其他小伙伴们一起交流学习;或者点击公众号下方自定义菜单的“统计咨询”,提出你遇到的统计难题。


点击左下角“阅读原文”,看看医咖会既往推送了哪些研究设计或统计学文章。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存